#ifndef _TANKTURRET_H
#define _TANKTURRET_H


#include "BaseComponent.h"
#include "TankGun.h"
#include <vector>
#include <boost/shared_ptr.hpp>

class TankTurret : public BaseComponent {
  public:
    TankTurret(const char * modelName);

    virtual ~TankTurret();

    bool AttachGun(const _TankGun & tankGun, char slot);

    virtual void Assemble();

    //Draws object in given position
    
    virtual void DrawAt(const BaseComponent::point & position);


  protected:
    unsigned char _maxGuns;

    std::vector<_TankGun> _guns;


  private:
    std::vector<BaseComponent::point> _gunSlots;

};
typedef boost::shared_ptr<TankTurret> _TankTurret;
#endif
